1. Field of the Invention
The present invention relates to a controller for driving a large driven body by means of a servo motor and controlling the position or speed of the driven body.
2. Description of the Related Art
In working machinery, normally position feedback control, speed feedback control, and current feedback control is conducted in order to control the position or speed of a driven body which is driven by a servo motor. FIG. 5 is a block diagram of a servo control portion which controls the servo motor. A servo motor 2 or a driven body 3 which is driven by the servo motor 2 is provided with position detection means 6 and speed detection means 5 for detecting the speed and position of the servo motor 2 or the driven body 3. Current detection means 4 for detecting a current value for driving the servo motor 2 is also provided, and detection signals of these detection means 4, 5, and 6 are fed back.
A motor control portion 1 is subjected to digital control performed by a processor, and comprises a position control processing portion 11 in which position loop processing is performed, a speed control processing portion 12 in which speed loop processing is performed, and a current control processing portion 13 in which current loop processing is performed. The position control processing portion 11 obtains a position deviation on the basis of a position command and a position feedback signal which is sent from the position detection means 6, and multiply thus obtained position deviation by a position loop gain to obtain a speed command. The speed control processing portion 12 obtains a speed deviation on the basis of a speed command which is outputted from the position control processing portion 11 and a speed feedback signal sent from the speed detection means 5, and performs speed feedback control of proportional and integral (or subtracting the proportional component of the speed feedback signal from the integral of the speed deviation), and the like to obtain a current command. The current control processing portion 13 performs current feedback control by means of the current command and a current feedback signal, and performs drive control on the servo motor 2 via a servo amplifier.
The control processing of the position, speed, and current of the driven body 3, such as a feed axis in working machinery, as described above is generally performed, but normally this processing is performed by means of a processor. In the case in which the angular acceleration of the servo motor 2 is changed drastically when performing drive control on the servo motor 2 by performing such feedback control of the position, speed, and current, sometimes the driven body 3 vibrates. As a way to prevent generation of such vibration, there is proposed a control method in which an acceleration for detecting the acceleration of the driven body 3 is provided, the signal from the acceleration sensor is subtracted from the current command outputted by the speed feedback control so that the current command of the current feedback control is corrected, and the current feedback control is executed by means of the corrected current command.
In this control method, when the driven body vibrates, the component of the vibration in an acceleration signal of the driven body, which is detected by the acceleration sensor, is an error for the current command used for the current feedback control. Therefore, the vibration is controlled such that the vibration component is subtracted from the current command to eliminate such error so that the current command is corrected, and driving current of the servo motor is controlled by means of the corrected current command (see Japanese Patent Application Laid-open No. 6-91482).
In the case of large machinery such as a large driven body which is driven by a servo motor, even if the feedback control of the speed or position is performed, and the feedback control of the position is further performed to drive the servo motor to control the position or speed of the driven body, it is difficult to assume that the driven body is a single rigid body, because of the large size of the driven body, and since acceleration is different depending on the sections on the driven body, the driven body itself might vibrate.
Furthermore, there is a case in which a plurality of servo motors are used to drive a large driven body, but in such driving mode, the servo motors may interfere with one another, thereby causing the driven body to vibrate. In such a case, conventionally the interference is corrected by means of the speed feedback, but since sections on a driven body where speed feedback can be obtained are limited, it is difficult to control vibrations of the sections on the driven body where vibrations might occur.